// // package gamesession
package gamesession

// import (
// 	"encoding/json"
// 	"net/http"
// 	"time"
// )

// /*
// 提供管理接口
// */

// // AdminAPI 会话管理API
// type AdminAPI struct {
// 	manager *SessionManager
// }

// // NewAdminAPI 创建管理API
// func NewAdminAPI(manager *SessionManager) *AdminAPI {
// 	return &AdminAPI{manager: manager}
// }

// // GetStatsHandler 获取统计信息
// func (api *AdminAPI) GetStatsHandler(w http.ResponseWriter, r *http.Request) {
// 	stats := api.manager.GetStats()

// 	w.Header().Set("Content-Type", "application/json")
// 	json.NewEncoder(w).Encode(stats)
// }

// // ListSessionsHandler 列出所有会话
// func (api *AdminAPI) ListSessionsHandler(w http.ResponseWriter, r *http.Request) {
// 	sessions, err := api.manager.GetAllSessions()
// 	if err != nil {
// 		http.Error(w, err.Error(), http.StatusInternalServerError)
// 		return
// 	}

// 	sessionInfos := make([]map[string]interface{}, 0, len(sessions))
// 	for _, session := range sessions {
// 		if baseSession, ok := session.(*BaseSession); ok {
// 			sessionInfos = append(sessionInfos, baseSession.GetSessionInfo())
// 		}
// 	}

// 	w.Header().Set("Content-Type", "application/json")
// 	json.NewEncoder(w).Encode(sessionInfos)
// }

// // GetSessionHandler 获取特定会话信息
// func (api *AdminAPI) GetSessionHandler(w http.ResponseWriter, r *http.Request) {
// 	sessionID := r.URL.Query().Get("session_id")
// 	if sessionID == "" {
// 		http.Error(w, "session_id parameter is required", http.StatusBadRequest)
// 		return
// 	}

// 	session, err := api.manager.GetSession(sessionID)
// 	if err != nil {
// 		http.Error(w, err.Error(), http.StatusNotFound)
// 		return
// 	}

// 	if baseSession, ok := session.(*BaseSession); ok {
// 		w.Header().Set("Content-Type", "application/json")
// 		json.NewEncoder(w).Encode(baseSession.GetSessionInfo())
// 		return
// 	}

// 	http.Error(w, "session type not supported", http.StatusInternalServerError)
// }

// // CleanupHandler 手动触发清理
// func (api *AdminAPI) CleanupHandler(w http.ResponseWriter, r *http.Request) {
// 	api.manager.cleanupExpiredSessions()

// 	w.Header().Set("Content-Type", "application/json")
// 	json.NewEncoder(w).Encode(map[string]string{
// 		"status": "cleanup completed",
// 	})
// }

// // RegisterHandlers 注册HTTP处理器
// func (api *AdminAPI) RegisterHandlers(mux *http.ServeMux) {
// 	mux.HandleFunc("/admin/sessions/health", api.HealthCheckHandler)
// 	mux.HandleFunc("/admin/sessions/stats", api.GetStatsHandler)
// 	mux.HandleFunc("/admin/sessions/list", api.ListSessionsHandler)
// 	mux.HandleFunc("/admin/sessions/get", api.GetSessionHandler)
// 	mux.HandleFunc("/admin/sessions/cleanup", api.CleanupHandler)
// }

// // HealthCheckHandler 健康检查端点
// func (api *AdminAPI) HealthCheckHandler(w http.ResponseWriter, r *http.Request) {
// 	stats := api.manager.GetStats()

// 	healthStatus := "healthy"
// 	if stats.TotalSessions > api.manager.config.MaxSessions*90/100 {
// 		healthStatus = "warning" // 会话数超过90%阈值
// 	}

// 	response := map[string]interface{}{
// 		"status":    healthStatus,
// 		"timestamp": time.Now(),
// 		"stats":     stats,
// 	}

// 	w.Header().Set("Content-Type", "application/json")
// 	json.NewEncoder(w).Encode(response)
// }
